package com.geek.factory.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 原料基础信息表
 * </p>
 *
 * @author author
 * @since 2025-06-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("material")
@ApiModel(value="Material对象", description="原料基础信息表")
public class Material implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "原料ID，主键自增")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer materialId;

    @ApiModelProperty(value = "原料编码(唯一)")
    @TableField("code")
    private String materialCode;

    @ApiModelProperty(value = "原料名称")
    @TableField("name")
    private String materialName;

    @ApiModelProperty(value = "原料类型(化工/金属/塑料等)")
    @TableField("type")
    private String materialType;


    @ApiModelProperty(value = "计量单位(kg/g/吨/升等)")
    @TableField("unit")
    private String unit;

    @ApiModelProperty(value = "单价")
    @TableField("price")
    private Double price;

    @ApiModelProperty(value = "最低安全库存")
    private Integer minStock;

    @ApiModelProperty(value = "最高安全库存")
    private Integer maxStock;

    @ApiModelProperty(value = "数量")
    @TableField("quantity")
    private BigDecimal quantity;
}
